#define  _CRT_SECURE_NO_WARNINGS 1
//#include<stdio.h>
//int func(int a, int b, int c){
//	if (a >= b){
//		int x = c;
//		x = x - a;
//		int y = a;
//		y = y - c;
//		if (a >= c){
//			x = y;
//		}
//		return x;
//	}
//	else{
//		int z = c;
//		z = z - b;
//		int m = b;
//		m = m - c;
//		if (a >= c){
//			z = m;
//		}
//		return z;
//	}
//}
//int main(){
//	int a, b, c;
//	scanf("%d%d%d", &a, &b, &c);
//	printf("%d\n", func(a, b, c));
//	return 0;
//}


#include<stdio.h>
int func(int n){
        int x = 1;
		int y = 1;
		int ret = 0;
	while (n >= x){
		int a=x;
		y = y*a;
        
		ret += y;
		x = x + 1;
	}
	return ret;
}
int main(){
	int n;
	scanf("%d", &n);
	long result = func(n);
	printf("%ld\n", result);
	return 0;
}


#include<stdio.h>
int func(int n){
	int ret = 0;
    
	while (n>1){
     int y = n - 1;
		int z = y;
		z = z*n;
		n = n - 2;
		ret += n;
		n = y;
	}
	
	return ret;
}
int main(){
	int n;
	scanf("%d", &n);
	printf("%d\n", func(n));
	return 0;
}